package cn.cscb.mms.pojo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 商机登记表
 *
 * @author Gao Yipeng
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("mark_reg")
public class UpdateTaskInfo implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 逻辑主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 商机号
     */
    private String markNo;
    /**
     * 商机名
     */
    private String markName;
    /**
     * 商机类型（字典型：MARK_TYPE）
     */
    private String markType;
    /**
     * 商机关联客户
     */
    private String cusId;
    /**
     * 商机描述
     */
    private String description;
    /**
     * 商机创建人
     */
    private String createId;
    /**
     * 商机创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate createDate;
    /**
     * 商机激励值
     */
    private BigDecimal reward;
    /**
     * 商机状态（字典项：MARK_STATUS）
     */
    @TableField( updateStrategy = FieldStrategy.IGNORED)
    private String markStatus;
    /**
     * 商机派发人
     */
    private String dispId;
    /**
     * 商机认领人
     */
    @TableField( updateStrategy = FieldStrategy.IGNORED)
    private String claimId;
    /**
     * 营销开始时间
     */
    @TableField( updateStrategy = FieldStrategy.IGNORED)
    private LocalDate taskStartDate;

    /**
     * 营销结束时间
     */
    @TableField( updateStrategy = FieldStrategy.IGNORED)
    private LocalDate taskEndDate;
    /**
     * 是否电话回访（字典项：YES_OR_NO）
     */
    @TableField( updateStrategy = FieldStrategy.IGNORED)
    private String isPhone;
    /**
     * 是否面访（字典项：YES_OR_NO）
     */
    @TableField( updateStrategy = FieldStrategy.IGNORED)
    private String isMeet;
    /**
     * 收益
     */
    @TableField( updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal feedback;
    /**
     * 实际积分
     */
    @TableField( updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal point;
    /**
     * 状态（字典项：STATE）
     */
    private String state;
    /**
     * 是否修改关联客户
     */
    private Integer flag;
}

